#pragma once
class RenderObject
{
public:
	RenderObject(void);
	virtual ~RenderObject(void);

	bool Create(class RenderSystem* render_system, Texture* texture, Shader* shader, Renderable* renderable);
	Texture* GetTexture() const { return m_texture; };
	Shader* GetShader() const { return m_shader; };
	Renderable* GetRenderable() { return m_renderable; };
	DepthState* GetDepthState() { return &m_depth; };
	RasterizerState* GetRasterizerState() { return &m_rasterizer; };

private:
	Shader* m_shader;
	Texture* m_texture;
	Renderable* m_renderable;
	DepthState m_depth;
	RasterizerState m_rasterizer;

};

